查看原文
其他

如果抽出一块正常工作服务器的硬盘,会发生什么?

杰哥的IT之旅 杰哥的IT之旅 2022-06-07
点击上方“杰哥的IT之旅”,选择“星标”公众号
重磅干货,第一时间送达

来源 | 腾讯云


最近看到一个有意思的问题:如果抽出一块正常工作的服务器硬盘,结果会怎样?


  • 数据会不会丢?
  • 业务会不会受影响?



答案是,不会丢!不受影响!

保护“使命重大”的硬盘,分两步走,下面以腾讯云为例:

 

先判断硬盘状态,看看数据丢没丢


如果一块正常工作的硬盘被抽出,服务器首先会做出反应。

服务器在硬盘读写数据时,设有特殊校验节点进行定时检查。
 
校验节点是数据存储的“边界”,节点之间的数据构成了存储的一个单位。服务器通过检查这些节点是否正常、完备,可以判断存储服务是否正常。
 

如果抽出的硬盘重新插入后,服务器发现节点正常,就会判断数据没有缺失,硬盘会进入正常运行状态。
 
但如果被抽出的硬盘正在读写数据,节点丢失,服务器会发起请求,申请替换新硬盘,并在其他硬盘上恢复损失的用户数据。

  

如果数据丢了,怎么找回来?

 
如果被抽出的硬盘正在读写数据,怎么保证用户服务不受影响?
 
分情况。

根据存储需求的不同,腾讯云为用户准备了CBS(云硬盘)、CFS(文件存储)、COS(对象存储)等多种服务来存储数据、运行业务。

这些服务都使用多副本技术保障用户服务。但服务不同,技术也不同:
 
一种是COS使用的腾讯自研存储引擎YottaStore中采用的纠删码冗余技术
 
当用户写入1份数据时,YottaStore技术会将其均匀分成若干份数据块、校验块。每个分组由k个数据块和n个校验块组成,最后打散存储到磁盘中。
 
这些数据块和校验块分组数量可以多达两位数,分别放置在不同园区、不同机架、不同服务器的硬盘中,同一块硬盘上只放一个副本数据





如果检查到硬盘出现掉线或损坏等故障——YottaStore检测到某处数据块或校验块被判断为不可用时,就会立即停用这部分数据。

紧接着,会用纠删码等技术将其他组的数据块、校验块重建丢失数据,并更新到其他硬盘当中。




另一种是是腾讯自研存储产品CBS和CFS采用的「三副本技术」
 
CBS和CFS服务,会把用户存储数据,拆分成若干固定大小的数据块,写入不同机柜不同服务器的不同硬盘中,共有三个副本。
 
如果硬盘被抽出,用户发起的请求,将指向正常工作的副本,用户服务不受影响。





 
CBS和CFS的系统也会进行自检。检查到因硬盘故障(设备只读、节点宕机)或网络故障(如链路异常或断开、网络探测延迟增大等)导致其中一个副本不可用时,系统会将其剔除。
 
三副本技术会自动发起副本恢复,在最短的时间内将用户数据恢复成三副本的工作状态。

当然,如果因为一些其他原因,导致多副本或三副本全部丢失,不在本文讨论范围之内。





其实,服务器和底层存储技术方面的技术只是硬盘、用户数据保护中的冰山一角。

现实中,抽出一块正常运行硬盘几乎不可能:






  • 硬盘本身有生命周期,硬盘替换是常规操作。为准确运维,腾讯云的硬盘都给拉手条设计LED指示灯,作为待运维硬盘的位置指示,颜色和闪烁频率代表硬盘的健康状态;


  • 抽出硬盘对服务器整体几乎不会造成影响。硬盘设有独立电子断路器eFuse,可实现插拔电源缓启动、去抖和硬盘故障隔离,避免电压变化影响其它硬盘和服务器工作;


  • 数据中心内外有多重安保措施,实时监控服务器和网络设备开机状态。进入服务器存储区间,要经过生物识别+门禁卡双重识别;异常关网络端口拔插操作会触发告警,运维人员或IDC安保人员在5分钟内就会到场查看。

     

  • 未经用户授权,腾讯云绝不主动触碰用户硬盘中数据。即便用户授权,腾讯云也会通过权限划分确保权限最小化,所有额外权限均需要经过多级评审批准 ......


现在,你知道为了保护一块硬盘和其中的数据,做出了多少努力了吧。

回复下方 「关键词」,获取优质资源

回复关键词 「CDN」,即可获取 89 页 CDN 排坑指南手册
回复关键词 「ECS」,即可获取 96 页 ECS 运维 Linux 系统诊断手册
回复关键词 「linux」,即可获取 185 页 Linux 工具快速教程手册
回复关键词 「Python进阶」,即可获取 106 页 Python 进阶文档 PDF
回复关键词 「Python自动化」,即可获取 97 页自动化文档 PDF
回复关键词 「Excel数据透视表」,即可获取 136 页 Excel数据透视表 PDF
回复关键词 「Python最强基础学习文档」,即可获取 68 页 Python 最强基础学习文档 PDF
回复关键词 「wx」,即可加入杰哥的IT之旅读者交流群
- End -

本公众号全部博文已整理成一个目录,请在公众号后台回复「m」获取!

推荐阅读:
1、一文帮你理解整个 SRE 运维体系!
2、没想到还能用这种方式学 Vim!
3、9 种方法有效帮你提高国内访问 GitHub 的速度!
4、这些 Nginx 常见异常,帮你快速定位故障!
5、这 22 款命令行神器必须安排上!
6、史上最全的数据库面试题,不看绝对后悔!点分享点点赞点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存